<template>
  <vxe-table
    v-bind="mergedProps"
    v-on="mergedListeners"
    ref="vxeTableProRef"
  >
    <template v-for="(slotFn, name) in $slots" #[name]="slotProps">
      <slot :name="name" v-bind="slotProps" />
    </template>
  </vxe-table>
</template>

<script setup>
import { ref, computed, useAttrs, useSlots } from 'vue'

// 默认配置，可根据实际需求扩展
const defaultProps = {
  border: true,
  stripe: true,
  size: 'mini', // 默认大小 small
  // ...其他默认配置
}

const props = defineProps({}) // 这里可根据需要补充具体属性
const attrs = useAttrs()
const slots = useSlots()

// 合并默认配置和用户传入的配置
const mergedProps = computed(() => ({
  ...defaultProps,
  ...props,
  ...attrs,
}))

// 事件合并（可根据需要扩展）
const mergedListeners = attrs

const vxeTableProRef = ref(null)
// 暴露实例
function Instance() {
    return vxeTableProRef.value
}
// 暴露实例方法
defineExpose({
  Instance,
})
</script>

<style lang="scss" scoped>
/* 可自定义样式或引入 tailwindcss 工具类 */
</style>